1. Technical Field of the Invention
The present invention relates in general to the processing of digital signals and, in particular, to the techniques for decoding such signals in applications involving digital radio frequency communication.
More particularly, the invention relates to a device for decoding a direct sequence spread spectrum (DSSS) encoded binary message, as well as a digital receiver device incorporating such a device.
2. Description of Related Art
In the context of a digital communication where the message is direct spread spectrum-encoded, the “0” and “1” bits are encoded with respective symbols sent by the transmitter, and decoded at the receiver by a DSSS decoder.
In the case where the bits are encoded using a Barker code of length N, the symbols encoding the “0” and “1” bits are each in the form of a series of N symbol elements (“0” or “1”), called “chips”, distributed over either of two different levels and transmitted at a predetermined fixed frequency F.
The symbol elements encoding the “1” bit are anti-correlated to the corresponding symbol elements encoding the “0” bit, i.e., the symbol elements of the same rank within both of these two symbols have opposite values.
For example, if and when a symbol element of the symbol encoding the “1” bit is at level 1, the corresponding symbol element of the symbol encoding the “0” bit is at level −1. In the same way, if and when a symbol element of the symbol encoding the “1” bit is at level −1, the corresponding symbol element of the symbol encoding the “0” bit is at level 1.
The spread binary message is then used to phase-modulate the carrier, appearing in the form of a time-dependent sine wave recorded as p(t), p(t)=cos(2πfp.t+φ), where fp is its frequency and φ its original phase.
Thus, where m is a binary message of length r, m can be noted in the following way: m=(I0, I1, . . . , Ir-1) with Ik=0 or 1.
For example, with r=5, m=(1,0,0,1,0). Often, in order to transmit this type of message, the waveform prior to modulation will be
      w    ⁡          (      t      )        =            ∑              k        =        o                    r        -        1              ⁢                  I        k            ⁢              g        ⁡                  (                      t            -                          kT              b                                )                    where Tb is the bit-time. The function g(t) is generally defined as followsg(t)=1 if 0≦t≦Tb; otherwise 0.
It is then said that the message m is NRZ-encoded (“non return to zero”). An illustration of the preceding example of m being NRZ-encoded is provided in FIG. 1.
It is seen that the NRZ code cannot be transmitted directly because, in the case of a long series of zeros or ones, the binary rhythm can no longer be recovered by the receiver. The direct spread spectrum encoding then replaces the NRZ-encoded signal with a differently encoded signal whose spectrum is more suitable.
Direct spectrum spreading comprises transmitting the pseudo-random sequence C(t) when Ik=1 and C(t) when Ik=). These pseudo-random sequences have the pattern
      C    ⁡          (      t      )        =            ∑              k        =        0                    N        -        1              ⁢                  c        k            ⁢              ∏                              T            c                    ⁡                      (                          t              -                              kT                c                                      )                              where Tb=rTc, Tc is the duration of a symbol element or of the spreading code, andΠTc=1 if 0≦t≦Tc, otherwise 0.
The integer N is the (spectrum) spreading factor. The sequence c={c0,c1, . . . , cN-1} is selected such that the autocorrelation function of c(t) is close to 0 for lags other than 0. For example, the Barker code 5 is defined by the sequence c={1,1,1,0,1}. C(t), representing the binary message m={1,0,0,1,0} spread (DSSS-encoded) by the Barker code 5, is shown in FIG. 2.
The DSSS encoding is thus characterized by the sequence c={c0,c1, . . . , cN-1}. Conventionally, DSSS encoding makes it possible to find the NRZ-encoded message as well as the associated synchronization, and then, using these two signals, to find the original message m.
A conventional DSSS decoder architecture is provided in FIG. 3. The analog portion of the receiver chain situated upstream from the decoder DEC, typically including amplification and demodulation means, is not shown because it does not hold any specific importance within the scope of this invention. The input signal IN of the decoder, supplied at the output of an analog-to-digital converter not shown, is subjected to a sampler 10 of the decoder DEC. Given the integer K, called the sampling factor, corresponding to the number of samples captured by the sampler 10 during the time period Tc, then Shannon's sampling theorem implies the relationship K≧2.
At the output of the sampler 10, the decoder DEC comprises a filter stage matched to the spreading code used, making it possible to recover the synchronization of the signal to be decoded in relation to the useful information. More precisely, this involves a finite impulse response digital filter FIR, characterized by the coefficients of its impulse response, which must correspond to the exact replica of the spreading code selected.
More precisely, the structure of this filter is that of a shift register REG including a plurality of bistable circuits receiving each sample of the input signal IN. One bit of the message transmitted thus corresponds to KN samples, in the case of a spreading code with N symbol elements. Therefore, at each moment, the KN last samples received from the sampler are stored in the variables z0 to zKN-1 of the shift register.
The shift register cooperates with a combinational circuit COMB, designed in a manner known to those skilled in the art, and involving the series of coefficients ci such that the output signal OUT of the filter has an amplitude directly dependent upon the level of correlation observed between the sequence of the KN last samples captured by this filter and a series of KN symbol elements of one of the two symbols, e.g., the series of the N elements of the symbol encoding a “1” bit of the digital signal.
Thus, the matched filtering operation comprises matching the series of coefficients ci to the exact replica of the spreading code used, in order to correlate the levels of the symbol elements received in succession at the input of the filter to the levels of the successive symbol elements of one of the two symbols encoding the “0” and “1” bits, e.g., the symbol elements of the symbol encoding the “1” bit.
Thus, according the principle set forth above, at each moment, the variables zi of the register, representing a binary sequence of the KN last samples received, are weighted by the set of coefficients co to cN-1, each coefficient representing a element of the spreading code used repeated K times during the weighting operation, prior to being summed up in order to supply the output signal OUT. This signal is provided for application to a first and a second hysterisis comparator, Comp1 and Comp2, respectively.
The signals associated with the decoder of FIG. 3, for a message encoded as Barker 5, are shown in FIG. 4.
The signal OUT at the input of the comparators typically supplies synchronization peaks, the sign of which provides the value of the bit of the original message at that moment; if the peak is negative, it is a “0”, and if the peak is positive, it is a “1”. The hysterisis comparators, Comp1 and Comp2, respectively, thus make it possible to transform the symbols thus decoded into a binary data flow corresponding to the original message, as well as to associate them with a synchronization clock. The original NRZ-encoded message, as well as the synchronization clock, are thus restored at the output of the hysterisis comparators Comp1 and Comp2, respectively.
More precisely, the first comparator Comp1 toggles as soon as the signal passes below a lower threshold value or above an upper threshold value, and then supplies a digital signal on a bit corresponding to the data. The second comparator Comp2 toggles as soon as the signal passes above or below the lower threshold value and as soon as the signal passes above or below the lower threshold value, and then supplies a digital signal on a bit that serves as a capture clock for the data. The lower and upper threshold values are adjustable.
However, under actual operating conditions, the transmission channel is noisy and the demodulation means are often imperfect. The consequence of this is such that, among the samples received by the DSS decoder, a certain number of them may be incorrect (1 in place of 0 and vice versa). As a matter of fact, the number of false samples captured by the sampler of the DSSS decoder depends directly on the quality of the demodulation as well as the noise level in the transmission channel. In the DSSS decoder, the signal presented to the two comparators is itself also incorrect. This then results in errors on the restored NRZ-encoded message (output of the comparator Comp1) and on the synchronization clock (output of the comparator Comp2) and therefore a significant degradation in the performance levels of the matched filter-based DSSS decoding process.
There is a need in the art to fix these problems.